import { post, get } from '@/utils/request'

// 鱼病智慧诊断相关API接口
export const fishDiseaseApi = {
  // 评估网箱健康状态
  healthCheck: (data) => {
    return post('/fishDiseaseNetCageHealthStatus/healthCheck', data)
  },

  // 常见鱼病监测数据的采集与分析
  monitor: (data) => {
    return post('/fishDiseaseMonitoring/monitor', data)
  },

  // 查询鱼病专家信息(十条)
  getExpertList: () => {
    return get('/fishDiseaseExpert/getExpertList')
  },

  // 查询鱼病识别记录信息(十条)
  getDiseaseList: () => {
    return get('/fishDiseaseIdentificationRecord/getDiseaseList')
  }
}

// 健康状态评估参数类型
export const healthCheckParams = {
  id: null, // id（可选）
  dissolvedOxygen: null, // 溶解氧（必填）
  waterTemperature: null, // 水温（必填）
  phValue: null, // pH 值（必填）
  samplingTime: null, // 抽检时间（可选）
  netCageId: null // 网箱编号（可选）
}

// 健康状态评估响应类型
export const healthCheckResponse = {
  code: 0, // 结果正常返回 0 否则返回其他
  msg: '', // 程序执行(成功/失败)信息
  healthStatus: '' // 表示当前网箱健康状态（"Healthy" 或 "Unhealthy"）
}

// 鱼病监测参数类型（环境数据）
export const diseaseMonitorEnvironmentParams = {
  id: null, // id（可选）
  dissolvedOxygen: null, // 溶解氧（必填）
  waterTemperature: null, // 水温（必填）
  phValue: null, // pH 值（必填）
  samplingTime: null, // 抽检时间（可选）
  netCageId: null // 网箱编号（必填）
}

// 鱼病监测参数类型（鱼体测长数据）
export const diseaseMonitorLengthParams = {
  id: null, // id（可选）
  videoPath: '', // 视频路径（必填）
  maxLength: null, // 最大体长（必填）
  minLength: null, // 最小体长（必填）
  averageLength: null, // 平均体长（必填）
  measurementTime: null, // 测量时间（可选）
  netCageId: null // 网箱编号（必填）
}

// 鱼病专家信息响应类型
export const expertResponse = {
  id: 0, // id
  expertName: '', // 专家姓名
  title: '', // 职称
  organization: '', // 所在单位
  specialtyFish: '', // 擅长品种
  specialtyDisease: '', // 擅长疾病
  url: '' // 头像图片url（c://...）
}

// 鱼病识别记录响应类型
export const diseaseRecordResponse = {
  id: 0, // id
  fishName: '', // 鱼名
  netCageId: 0, // 网箱编号
  time: null, // 时间
  fishDisease: '', // 鱼病
  confidence: 0 // 置信度(0~100)
}

// 健康状态枚举
export const healthStatus = {
  HEALTHY: 'Healthy',
  UNHEALTHY: 'Unhealthy'
}

// 病情严重程度枚举
export const severityLevels = {
  MILD: '轻度',
  MODERATE: '中度',
  SEVERE: '重度'
} 